#ifndef _SQQUEUE_H_
#define _SQQUEUE_H_

#include "declare.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define POSITION int
struct stQueue {
    SIZE_T MAXNUM;
    SIZE_T length;
    ELEMTYPE *buffer;
    POSITION head, rear;
};

typedef struct stQueue * Psqueue;

Psqueue createEmptyQueue(int num);
int enqueue(Psqueue queue, ELEMTYPE x);
int dequeue(Psqueue queue);
int frontqueue(Psqueue queue, ELEMTYPE *x);
int empty(Psqueue queue);
int length(Psqueue queue);
int isEmpty(Psqueue queue);
int isFull(Psqueue queue);
int destroy(Psqueue *queue);
int printQueue(Psqueue queue);
#endif
